home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
AMIGA
/
AMICUS
/
AMICUS11.ADF
/
AmigaBasicProgs
/
Optimization
/
Plot.MSB
(
.txt
)
next >
Wrap
AmigaBASIC Source Code
|
1986-08-05
|
1KB
|
82 lines
'
' Optimize Your AmigaBasic Programs For Speed
'
' By Stephen R. Pietrowicz
'
' Listing one - Plotting example
'
DEF FNa(t) = (100/360*t)/3
'
' Draw each of the plots one at a time
' and report all times when done
'
CLS
GOSUB SlowPlot
FOR i = 1 TO 10000:NEXT i
CLS
GOSUB QuickPlot
FOR i = 1 TO 10000:NEXT i
CLS
GOSUB QuickerPlot
LOCATE 1,1
PRINT "SlowPlot: Begin -- ";a1$;" End -- ";a2$
PRINT "QuickPlot: Begin -- ";b1$;" End -- ";b2$
PRINT "QuickerPlot: Begin -- ";c1$;" End -- ";c2$
END
SlowPlot:
PRINT "SlowPlot"
a1$ = TIME$
FOR j = 20 TO 100 STEP 20
FOR x = -150 TO -1 STEP 0.2
'
' First draw right side
'
y = SIN(FNa(x))/(FNa(x))*j+50
PSET (x+150,y),1
NEXT x
FOR x = 1 TO 150 STEP 0.2
'
' Now draw left side
'
y = SIN(FNa(x))/(FNa(x))*j+50
PSET (x+150,y),1
NEXT x
NEXT j
a2$ = TIME$
RETURN
QuickPlot:
PRINT "QuickPlot"
b1$ = TIME$
FOR j = 20 TO 100 STEP 20
FOR x = 1 TO 150 STEP 0.2
sy = x*0.0925926
y1 = SIN(sy)/sy*j+50
PSET (150-x,y1),1
PSET (x+150,y1),1
NEXT x
NEXT j
b2$ = TIME$
RETURN
QuickerPlot:
PRINT "QuickerPlot"
c1$ = TIME$
FOR x = 1 TO 150 STEP 0.2
sy = x*0.0925926
SinTemp = SIN(sy)/sy
FOR j = 20 TO 100 STEP 20
y1 = SinTemp*j+50
PSET (150-x,y1),1
PSET (x+150,y1),1
NEXT j
NEXT x
c2$ = TIME$
RETURN